package com.xxl.job.executor.sample.frameless.test.singleton;

public class LazySingleton3 {
    private LazySingleton3() {}
    private static LazySingleton3 lazySingleton3 = null;
    //静态工厂方法
    public static LazySingleton3 getInstance() {
        //加上这个判断，!(lazySingleton3 == null)不用进同步代码块，
        //除第一次外都是!(lazySingleton3 == null)，避免一个线程锁住类，影响性能，即同步影响性能
        if (lazySingleton3 == null) {
            synchronized (LazySingleton3.class) {
                if (lazySingleton3 == null) {
                    lazySingleton3 = new LazySingleton3();
                }
            }
        }
        return lazySingleton3;
    }
}
